//++++++++++++++++++++++++++++++++++++
// QuantV 3.0.0 shader
// Original code by Rockstar Games
//++++++++++++++++++++++++++++++++++++
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb1[16], immediateIndexed
dcl_constantbuffer cb2[16], immediateIndexed
dcl_constantbuffer cb6[49], immediateIndexed
dcl_constantbuffer cb12[21], immediateIndexed
dcl_sampler s14, mode_comparison
dcl_resource_texture2dms(0) (float,float,float,float) t7
dcl_resource_texture2dms(0) (float,float,float,float) t8
dcl_resource_texture2dms(0) (float,float,float,float) t9
dcl_resource_texture2dms(0) (uint,uint,uint,uint) t11
dcl_resource_texture2dms(0) (float,float,float,float) t12
dcl_resource_texturecube (float,float,float,float) t14
dcl_input_ps linear v1.xyw
dcl_input_ps linear v3.x
dcl_output o0.xyzw
dcl_temps 8
div r0.xy, v1.xyxx, v1.wwww
mad r1.xy, r0.xyxx, l(2.000000e+000, -2.000000e+000, 0.000000e+000, 0.000000e+000), l(-1.000000e+000, 1.000000e+000, 0.000000e+000, 0.000000e+000)
mul r0.xy, r0.xyxx, cb2[15].xyxx
round_z r0.xy, r0.xyxx
ftoi r0.xy, r0.xyxx
ftoi r1.w, v3.x
mov r0.zw, l(0,0,0,0)
ldms_indexable(texture2dms)(float,float,float,float) r2.x, r0.xyww, t12.xyzw, r1.w
mov r1.z, l(1.000000)
dp3 r3.x, r1.xyzx, cb12[18].xyzx
dp3 r3.y, r1.xyzx, cb12[19].xyzx
dp3 r3.z, r1.xyzx, cb12[20].xyzx
add r1.x, -r2.x, cb12[17].w
add r1.x, r1.x, l(1.000000e+000)
div r1.x, cb12[17].z, r1.x
mad r2.xyz, r3.xyzx, r1.xxxx, cb1[15].xyzx
add r4.xyz, -r2.xyzx, cb12[0].xyzx
dp3 r1.y, r4.xyzx, r4.xyzx
mad_sat r1.z, -r1.y, cb12[4].z, l(1.000000e+000)
add r3.w, l(1.000000e+000), -cb12[7].x
mad r3.w, r3.w, r1.z, cb12[7].x
div r1.z, r1.z, r3.w
mov r2.w, l(1.000000)
dp4 r2.x, r2.xyzw, cb12[6].xyzw
ge r2.x, r2.x, l(0.000000e+000)
and r2.x, r2.x, l(0x3f800000)
mul r1.z, r1.z, r2.x
lt r2.x, r1.z, l(1.000000e-006)
discard_nz r2.x
ldms_indexable(texture2dms)(uint,uint,uint,uint) r2.x, r0.xyww, t11.yxzw, r1.w
utof r2.x, r2.x
ftoi r2.x, r2.x
and r2.x, r2.x, l(8)
itof r2.x, r2.x
ftou r2.x, r2.x
utof r2.x, r2.x
ge r2.x, r2.x, l(7.900000e+000)
and r2.x, r2.x, l(0x3f800000)
ldms_indexable(texture2dms)(float,float,float,float) r2.yzw, r0.xyww, t7.wxyz, r1.w
mul r2.yzw, r2.yyzw, r2.yyzw
ldms_indexable(texture2dms)(float,float,float,float) r5.xyz, r0.xyww, t9.xyzw, r1.w
mul r5.xy, r5.xyxx, r5.xyxx
ldms_indexable(texture2dms)(float,float,float,float) r0.xyzw, r0.xyzw, t8.xyzw, r1.w
mul r6.xyz, r0.wwww, l(9.980469e-001, 7.984375e+000, 6.387500e+001, 0.000000e+000)
frc r6.xyz, r6.xyzx
mad r6.xy, r6.yzyy, l(-1.250000e-001, -1.250000e-001, 0.000000e+000, 0.000000e+000), r6.xyxx
mad r0.xyz, r0.xyzx, l(2.560000e+002, 2.560000e+002, 2.560000e+002, 0.000000e+000), r6.xyzx
add r0.xyz, r0.xyzx, l(-1.280000e+002, -1.280000e+002, -1.280000e+002, 0.000000e+000)
dp3 r0.w, r0.xyzx, r0.xyzx
rsq r0.w, r0.w
mul r0.xyz, r0.wwww, r0.xyzx
min r0.w, r5.x, l(1.000000e+000)
mad r1.w, r5.y, l(5.120000e+002), l(-5.000000e+002)
max r1.w, r1.w, l(0.000000e+000)
mad r3.w, r5.y, l(5.120000e+002), -r1.w
mul r1.w, r1.w, l(5.580000e+002)
mad r1.w, r3.w, l(3.000000e+000), r1.w
rsq r1.y, r1.y
mul r5.xyw, r4.xyxz, r1.yyyy
dp3 r3.w, r3.xyzx, r3.xyzx
rsq r3.w, r3.w
mul r6.xyz, r3.xyzx, r3.wwww
mad r4.xyz, r1.yyyy, r4.xyzx, -r6.xyzx
dp3 r1.y, r4.xyzx, r4.xyzx
rsq r1.y, r1.y
mul r4.xyz, r4.xyzx, r1.yyyy
mad r3.xyz, r3.xyzx, r1.xxxx, cb6[19].xyzx
dp3 r7.x, r3.xyzx, cb6[16].xyzx
dp3 r7.y, r3.xyzx, cb6[17].xyzx
dp3 r7.z, r3.xyzx, cb6[18].xyzx
dp3 r1.x, -r7.xyzx, -r7.xyzx
sqrt r1.x, r1.x
div r3.xyz, -r7.xyzx, r1.xxxx
mul r1.x, r1.x, cb6[18].w
ge r7.xyzw, |r3.zzxx|, |r3.xyyz|
and r7.xy, r7.ywyy, r7.xzxx
movc r1.y, r7.y, |r3.x|, |r3.y|
movc r1.y, r7.x, |r3.z|, r1.y
dp2 r1.y, r1.yyyy, cb6[48].zzzz
div r3.xyz, r3.xyzx, r1.yyyy
add r7.xyz, r3.xyzx, l(4.500000e-001, 0.000000e+000, 0.000000e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r1.y, r7.xyzx, t14.xxxx, s14, r1.x
add r7.xyz, r3.xyzx, l(7.898243e-001, 4.314830e-001, 4.314830e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
add r1.y, r1.y, r3.w
add r7.xyz, r3.xyzx, l(1.350000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(9.000000e-001), r1.y
add r7.xyz, r3.xyzx, l(1.184736e+000, 6.472245e-001, 6.472245e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(9.000000e-001), r1.y
add r7.xyz, r3.xyzx, l(2.100000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(5.500000e-001), r1.y
add r7.xyz, r3.xyzx, l(1.974561e+000, 1.078707e+000, 1.078707e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(5.500000e-001), r1.y
add r7.xyz, r3.xyzx, l(2.250000e-001, 3.897114e-001, 3.897114e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
add r1.y, r1.y, r3.w
add r7.xyz, r3.xyzx, l(2.123693e-002, 8.997494e-001, 8.997494e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
add r1.y, r1.y, r3.w
add r7.xyz, r3.xyzx, l(6.750000e-001, 1.169134e+000, 1.169134e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(9.000000e-001), r1.y
add r7.xyz, r3.xyzx, l(3.185539e-002, 1.349624e+000, 1.349624e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(9.000000e-001), r1.y
add r7.xyz, r3.xyzx, l(1.050000e+000, 1.818653e+000, 1.818653e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(5.500000e-001), r1.y
add r7.xyz, r3.xyzx, l(5.309232e-002, 2.249373e+000, 2.249373e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(5.500000e-001), r1.y
add r7.xyz, r3.xyzx, l(-2.250000e-001, 3.897114e-001, 3.897114e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
add r1.y, r1.y, r3.w
add r7.xyz, r3.xyzx, l(-7.685874e-001, 4.682664e-001, 4.682664e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
add r1.y, r1.y, r3.w
add r7.xyz, r3.xyzx, l(-6.750000e-001, 1.169134e+000, 1.169134e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(9.000000e-001), r1.y
add r7.xyz, r3.xyzx, l(-1.152881e+000, 7.023996e-001, 7.023996e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(9.000000e-001), r1.y
add r7.xyz, r3.xyzx, l(-1.050000e+000, 1.818653e+000, 1.818653e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(5.500000e-001), r1.y
add r7.xyz, r3.xyzx, l(-1.921468e+000, 1.170666e+000, 1.170666e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(5.500000e-001), r1.y
add r7.xyz, r3.xyzx, l(-4.500000e-001, 0.000000e+000, 0.000000e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
add r1.y, r1.y, r3.w
add r7.xyz, r3.xyzx, l(-7.898243e-001, -4.314830e-001, -4.314830e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
add r1.y, r1.y, r3.w
add r7.xyz, r3.xyzx, l(-1.350000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(9.000000e-001), r1.y
add r7.xyz, r3.xyzx, l(-1.184736e+000, -6.472245e-001, -6.472245e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(9.000000e-001), r1.y
add r7.xyz, r3.xyzx, l(-2.100000e+000, 0.000000e+000, 0.000000e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(5.500000e-001), r1.y
add r7.xyz, r3.xyzx, l(-1.974561e+000, -1.078707e+000, -1.078707e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(5.500000e-001), r1.y
add r7.xyz, r3.xyzx, l(-2.250000e-001, -3.897114e-001, -3.897114e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
add r1.y, r1.y, r3.w
add r7.xyz, r3.xyzx, l(-2.123693e-002, -8.997494e-001, -8.997494e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
add r1.y, r1.y, r3.w
add r7.xyz, r3.xyzx, l(-6.750000e-001, -1.169134e+000, -1.169134e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(9.000000e-001), r1.y
add r7.xyz, r3.xyzx, l(-3.185539e-002, -1.349624e+000, -1.349624e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(9.000000e-001), r1.y
add r7.xyz, r3.xyzx, l(-1.050000e+000, -1.818653e+000, -1.818653e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(5.500000e-001), r1.y
add r7.xyz, r3.xyzx, l(-5.309232e-002, -2.249373e+000, -2.249373e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(5.500000e-001), r1.y
add r7.xyz, r3.xyzx, l(2.250000e-001, -3.897114e-001, -3.897114e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
add r1.y, r1.y, r3.w
add r7.xyz, r3.xyzx, l(7.685874e-001, -4.682664e-001, -4.682664e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
add r1.y, r1.y, r3.w
add r7.xyz, r3.xyzx, l(6.750000e-001, -1.169134e+000, -1.169134e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(9.000000e-001), r1.y
add r7.xyz, r3.xyzx, l(1.152881e+000, -7.023996e-001, -7.023996e-001, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(9.000000e-001), r1.y
add r7.xyz, r3.xyzx, l(1.050000e+000, -1.818653e+000, -1.818653e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r3.w, r7.xyzx, t14.xxxx, s14, r1.x
mad r1.y, r3.w, l(5.500000e-001), r1.y
add r3.xyz, r3.xyzx, l(1.921468e+000, -1.170666e+000, -1.170666e+000, 0.000000e+000)
sample_c_lz_indexable(texturecube)(float,float,float,float) r1.x, r3.xyzx, t14.xxxx, s14, r1.x
mad r1.x, r1.x, l(5.500000e-001), r1.y
mul r1.y, r1.z, r2.x
mul r3.xyz, cb12[3].wwww, cb12[3].xyzx
dp3_sat r1.z, r0.xyzx, r5.xywx
dp3_sat r6.x, -r6.xyzx, r0.xyzx
dp3_sat r6.y, r4.xyzx, r5.xywx
add r5.xy, -r6.xyxx, l(1.000000e+000, 1.000000e+000, 0.000000e+000, 0.000000e+000)
mul r6.xy, r5.xyxx, r5.xyxx
mul r6.xy, r6.xyxx, r6.xyxx
mul r5.xy, r5.xyxx, r6.xyxx
add r2.x, -r5.z, l(1.000000e+000)
mad r5.xy, r5.zzzz, r5.xyxx, r2.xxxx
add r5.zw, r1.wwww, l(0.000000e+000, 0.000000e+000, 2.000000e+000, 1.000000e-008)
mul r1.w, r5.z, l(1.250000e-001)
mad r2.x, -r0.w, r5.x, l(1.000000e+000)
dp3 r0.x, r0.xyzx, r4.xyzx
add_sat r0.x, r0.x, l(1.000000e-008)
log r0.x, r0.x
mul r0.x, r0.x, r5.w
exp r0.x, r0.x
mul r0.x, r5.y, r0.x
mul r0.x, r1.w, r0.x
mul r0.x, r0.w, r0.x
mul r0.x, r1.z, r0.x
mul r0.y, r1.z, r2.x
mul r0.x, r0.x, cb12[8].z
mad r0.z, r1.x, l(3.401361e-002), l(-1.000000e+000)
mad r0.z, cb12[8].y, r0.z, l(1.000000e+000)
mad r0.xyw, r2.yzyw, r0.yyyy, r0.xxxx
mul r0.xyw, r3.xyxz, r0.xyxw
mul r0.xyw, r1.yyyy, r0.xyxw
mul r0.xyz, r0.zzzz, r0.xywx
mul o0.xyz, r0.xyzx, cb2[14].zzzz
mov o0.w, l(1.000000)
ret